"""
异步方案 Celery 让我们点击发送短信验证码后就开始计时

生产者消费者设计模式
生产者: 产生任务或者事情 (函数)
消费者: 执行任务或者事情 (执行函数) # 在虚拟环境工程路径下执行
celery -A celery实例的脚本路径 worker -l INFO
celery -A celery_tasks.main worker -l INFO
中间者(消息队列): 接收来自生产者的信息,传递给消费者

Celery 类似一个类将上述三者集合在一起
"""

# 0. 为celery的运行设置django环境
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'meiduo_mall.settings')

# 1. 创建celery实例
from celery import Celery
# 参数1:main 设置脚本路径就可以了，脚本路径是唯一的
app = Celery('celery_tasks')

# 2. 设置broker
# 我们通过加载配置文件来设置broker
app.config_from_object('celery_tasks.config')

# 3. 需要celery 自动检测到指定的任务
# autodiscover_tasks参数是列表,列表中的数据是任务的路径
app.autodiscover_tasks(['celery_tasks.sms', 'celery_tasks.email'])

